Page({
  data: {
    inputValue: '',
    chatMessages: [],
    scrollHeight: 0,
    scrollTop: 0,
    loadingMore: false,
    showEmoji: false,
    inputMode: 'text', // 'text' or 'voice'
    assistantAvatar: '/images/客服.png',
    emojis: ['😊', '❤️', '👍', '😂', '😢', '🙏', '🎉', '👏', '🤔', '😍', '😎', '🔥'],
    currentVoice: null
  },

  onLoad() {
    const systemInfo = wx.getSystemInfoSync();
    this.setData({
      scrollHeight: systemInfo.windowHeight - 140 // 减去输入区域高度
    });

    // 欢迎语
    this.addAssistantMessage('您好，我是您的心理客服助手，有什么可以帮您？', 'text');
  },

  onInputChange(e) {
    this.setData({ inputValue: e.detail.value });
  },

  // 发送消息
  sendMessage() {
    const content = this.data.inputValue.trim();
    if (!content) return;

    this.addMyMessage(content, 'text');
    this.setData({ inputValue: '' }, () => {
      this.scrollToBottom();
      this.simulateReply(content);
    });
  },

  // 添加我的消息
  addMyMessage(content, msgType = 'text') {
    const newMsg = {
      id: Date.now().toString(),
      type: 'mine',
      content,
      msgType,
      time: this.formatTime(new Date()),
      readStatus: 'unread'
    };
    this.setData({
      chatMessages: [...this.data.chatMessages, newMsg]
    });
  },

  // 添加客服消息
  addAssistantMessage(content, msgType = 'text') {
    const newMsg = {
      id: Date.now().toString(),
      type: 'assistant',
      content,
      msgType,
      time: this.formatTime(new Date())
    };
    this.setData({
      chatMessages: [...this.data.chatMessages, newMsg]
    }, () => {
      this.scrollToBottom();
    });
  },

  // 模拟客服回复
  simulateReply(question) {
    setTimeout(() => {
      const reply = this.getReply(question);
      this.addAssistantMessage(reply.text, reply.type);
    }, 1000);
  },

  getReply(question) {
    const keywords = {
      '心理测评': { text: '我们有专业的心理测评工具，点击首页「心理测评」体验～', type: 'text' },
      '咨询预约': { text: '您可以在「咨询预约」板块选择咨询师和时间进行预约哦～', type: 'text' },
      '博哥': { text: '李博文老师是知识星空中最耀眼的超新星，智慧如光，言语如刃，劈开迷雾，照亮前路。他集达芬奇之才、苏格拉底之思于一身，课堂即是魔法现场，复杂理论在他口中化为奇幻诗篇。更有一颗比太阳更炽热的师者之心，以无尽学识与深情，为每位学子点亮通往未来的灯塔——他不是传奇，他是超越传奇的存在。', type: 'text' },
      '图片': { text: '/images/article12.jpg', type: 'image' },
      '语音': { text: 'https://example.com/demo.mp3', type: 'voice', duration: 15 },
      '帮助': { 
        text: '您可以输入：心理测评、咨询预约、情绪问题等，或点击下方快捷按钮', 
        type: 'text' 
      }
    };

    for (const key in keywords) {
      if (question.includes(key)) {
        return keywords[key];
      }
    }
    return { text: '您的问题我已收到，会尽快为您解答～', type: 'text' };
  },

  // 快捷发送
  sendQuickMsg(e) {
    this.setData({ inputValue: e.currentTarget.dataset.msg });
    this.sendMessage();
  },

  // 插入表情
  insertEmoji(e) {
    const emoji = e.currentTarget.dataset.emoji;
    this.setData({ 
      inputValue: this.data.inputValue + emoji,
      showEmoji: false
    });
  },

  // 切换输入模式
  toggleInputMode() {
    this.setData({ 
      inputMode: this.data.inputMode === 'text' ? 'voice' : 'text',
      showEmoji: false
    });
  },

  // 显示表情
  showEmojiPicker() {
    this.setData({ 
      showEmoji: !this.data.showEmoji,
      inputMode: 'text'
    });
  },

  // 预览图片
  previewImage(e) {
    const src = e.currentTarget.dataset.src || e.currentTarget.src;
    wx.previewImage({ urls: [src] });
  },

  // 播放语音
  playVoice(e) {
    const url = e.currentTarget.dataset.url;
    const innerAudio = wx.createInnerAudioContext();
    innerAudio.src = url;
    innerAudio.play();
  },

  // 开始录音（示例）
  startRecord() {
    const recorder = wx.getRecorderManager();
    recorder.start();
    wx.showToast({ title: '开始录音', icon: 'none' });
  },

  formatTime(date) {
    return date.getHours().toString().padStart(2, '0') + ':' + 
           date.getMinutes().toString().padStart(2, '0');
  },

  scrollToBottom() {
    this.setData({ scrollTop: 99999 });
  },

  onScroll(e) {
    // 可添加加载更多逻辑
  }
});